home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Benchmarks / nrev1.w < prev    next >
Encoding:
Text File  |  1989-04-14  |  2.0 KB  |  130 lines

  1. procedure  main/0
  2.  
  3. _693:
  4.     init  Y1
  5.     put_variable_y  Y2,X1
  6.     call  list30/1,2
  7.     put_unsafe_value  Y2,X1
  8.     put_variable_y  Y1,X2
  9.     call  nreverse/2,1
  10.     put_unsafe_value  Y1,X1
  11.     escape  write/1
  12.     escape  nl/0
  13.     proceed
  14.  
  15.  
  16. procedure  nreverse/2
  17.  
  18.     switch_on_term  _1345,_1346,fail
  19. _1351:
  20.     try_me_else  _1356,2
  21. _1346:
  22.     get_variable_y  Y1,X2
  23.     get_list  X1
  24.     unify_variable_y  Y3
  25.     unify_variable_x  X1
  26.     put_variable_y  Y2,X2
  27.     call  nreverse/2,3
  28.     put_list  X2
  29.     unify_value_write_y  Y3
  30.     unify_nil_write
  31.     put_unsafe_value  Y2,X1
  32.     put_value_y  Y1,X3
  33.     execute_proc  concatenate/3
  34. _1356:
  35.     trust_me_else  fail
  36. _1345:
  37.     get_nil  X1
  38.     get_nil  X2
  39.     proceed
  40.  
  41.  
  42. procedure  concatenate/3
  43.  
  44.     switch_on_term  _2388,_2389,fail
  45. _2394:
  46.     try_me_else  _2399,3
  47. _2389:
  48.     get_list  X1
  49.     unify_variable_x  X4
  50.     unify_variable_x  X1
  51.     get_list  X3
  52.     unify_value_x  X4
  53.     unify_variable_x  X3
  54.     execute_proc  concatenate/3
  55. _2399:
  56.     trust_me_else  fail
  57. _2388:
  58.     get_value_x  X2,X3
  59.     get_nil  X1
  60.     proceed
  61.  
  62.  
  63. procedure  list30/1
  64.  
  65. _2914:
  66.     get_list  X1
  67.     unify_constant  &1
  68.     get_cdr_list
  69.     unify_constant  &2
  70.     get_cdr_list
  71.     unify_constant  &3
  72.     get_cdr_list
  73.     unify_constant  &4
  74.     get_cdr_list
  75.     unify_constant  &5
  76.     get_cdr_list
  77.     unify_constant  &6
  78.     get_cdr_list
  79.     unify_constant  &7
  80.     get_cdr_list
  81.     unify_constant  &8
  82.     get_cdr_list
  83.     unify_constant  &9
  84.     get_cdr_list
  85.     unify_constant  &10
  86.     get_cdr_list
  87.     unify_constant  &11
  88.     get_cdr_list
  89.     unify_constant  &12
  90.     get_cdr_list
  91.     unify_constant  &13
  92.     get_cdr_list
  93.     unify_constant  &14
  94.     get_cdr_list
  95.     unify_constant  &15
  96.     get_cdr_list
  97.     unify_constant  &16
  98.     get_cdr_list
  99.     unify_constant  &17
  100.     get_cdr_list
  101.     unify_constant  &18
  102.     get_cdr_list
  103.     unify_constant  &19
  104.     get_cdr_list
  105.     unify_constant  &20
  106.     get_cdr_list
  107.     unify_constant  &21
  108.     get_cdr_list
  109.     unify_constant  &22
  110.     get_cdr_list
  111.     unify_constant  &23
  112.     get_cdr_list
  113.     unify_constant  &24
  114.     get_cdr_list
  115.     unify_constant  &25
  116.     get_cdr_list
  117.     unify_constant  &26
  118.     get_cdr_list
  119.     unify_constant  &27
  120.     get_cdr_list
  121.     unify_constant  &28
  122.     get_cdr_list
  123.     unify_constant  &29
  124.     get_cdr_list
  125.     unify_constant  &30
  126.     unify_nil
  127.     proceed
  128.  
  129.  
  130.